﻿/*!
 * Copyright (c), 上海沃恩信息科技有限公司.
 * All rights reserved.
 * Licensed under BSD (https://www.pittypat.work/bsd.html).
 */

namespace Pittypat
{
    /// <summary>
    /// 为当前用户提供用户信息。
    /// </summary>
    /// <remarks>
    /// 实际发送给客户端的信息可能更多或更少，取决于实现该接口的类型如何实现 IJson.Write 方法。
    /// </remarks>
    public interface IUser : IComplex
    {
        /// <summary>
        /// 获取用户的 Id，匿名用户的 Id 为 null。
        /// </summary>
        @uuid? Id { get; }

        /// <summary>
        /// 获取用户的登录名称。
        /// </summary>
        @string? LoginName { get; }

        /// <summary>
        /// 获取用户的友好显示名称。
        /// </summary>
        @string? FriendlyName { get; }

        /// <summary>
        /// 获取用户头像的路径。
        /// </summary>
        @string? FaceUrl { get; }

        /// <summary>
        /// 获取用户登录成功后应该进入的第一个页面。
        /// </summary>
        @string? LoginHomeUrl { get; }

        /// <summary>
        /// 获取用于设置用户资料的路径。
        /// </summary>
        @string? SettingUrl { get; }

        /// <summary>
        /// 获取当前系统的日期时间。
        /// </summary>
        @datetime? Now { get; }
    }
}
